using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("LogArchive")]
	public class LogArchive : MonoClass
	{
		public string m_logPath => method_4("m_logPath");

		public ulong m_numLinesWritten => method_2<ulong>("m_numLinesWritten");

		public int m_maxFileSizeKB => method_2<int>("m_maxFileSizeKB");

		public bool m_stopLogging => method_2<bool>("m_stopLogging");

		public LogArchive(IntPtr address, string className)
			: base(address, className)
		{
		}

		public LogArchive(IntPtr address)
			: this(address, "LogArchive")
		{
		}

		public static void Init()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "LogArchive", "Init");
		}

		public static LogArchive Get()
		{
			return MonoClass.smethod_15<LogArchive>(TritonHs.MainAssemblyPath, "", "LogArchive", "Get", Array.Empty<object>());
		}

		public static string GenerateTimestamp()
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "LogArchive", "GenerateTimestamp");
		}

		public string GetLogPath()
		{
			return method_13("GetLogPath");
		}

		public void CleanOldLogs(string logFolderPath)
		{
			method_8("CleanOldLogs", logFolderPath);
		}

		public void MakeLogPath(string logFolderPath)
		{
			method_8("MakeLogPath", logFolderPath);
		}
	}
}
